package com.newtouch.bxzs.enterprise.service;

import com.newtouch.bxzs.enterprise.model.bo.CustomerBO;
import com.newtouch.bxzs.enterprise.model.bo.PersonalCustomerGroupBO;
import com.newtouch.bxzs.enterprise.model.vo.CustomerVO;
import com.newtouch.bxzs.enterprise.model.vo.PersonalCustomerGroupVO;

import java.util.List;

/**
 * 个人客户分组业务层
 *
 * <p>
 * <b>History:</b>
 * <table border="1">
 * <tr>
 * <th>Date</th>
 * <th>Operator</th>
 * <th>Memo</th>
 * </tr>
 * <tr>
 * <td>2020/12/25 9:48</td>
 * <td>yuanjie</td>
 * <td>Create</td>
 * </tr>
 * </table>
 *
 * @author yuanjie
 * @version 1.0.0
 * @since 1.0.0
 */
public interface PersonalCustomerGroupService {

    /**
     * 获取个人客户分组
     *
     * @return 客户分组信息集合
     */
    List<PersonalCustomerGroupBO> getGroupList();

    /**
     * 增加或者修改个人客户分组
     *
     * @param personalCustomerGroupVO 传入信息
     */
    String modifyPersonalCustomerGroup(PersonalCustomerGroupVO personalCustomerGroupVO);

    /**
     * 删除个人分组
     *
     * @param personalCustomerGroupVO vo
     */
    String deletePersonalCustomerGroup(PersonalCustomerGroupVO personalCustomerGroupVO);

    /**
     * 添加个人客户分组客户
     *
     * @param personalCustomerGroupVO vo
     */
    String insertGroupCustomer(PersonalCustomerGroupVO personalCustomerGroupVO);

    /**
     * 移除个人客户分组客户
     *
     * @param personalCustomerGroupVO 客户id集合
     */
    Integer deleteGroupCustomer(PersonalCustomerGroupVO personalCustomerGroupVO);


    /**
     * 获取可添加的客户列表
     *
     * @param customerVO 条件
     * @return 客户列表
     */
    CustomerBO getEnableAddCustomerList(CustomerVO customerVO);
}
